Skip to content

Upgrade all packages to latest versions for security#53

Closed
ChristopherAlphonse wants to merge 2 commits intomainfrom
security-upgrade
Closed

Upgrade all packages to latest versions for security#53
ChristopherAlphonse wants to merge 2 commits intomainfrom
security-upgrade

Conversation

@ChristopherAlphonse
Copy link
Copy Markdown
Owner

@ChristopherAlphonse ChristopherAlphonse commented Dec 6, 2025

Security maintenance

Summary by CodeRabbit

  • Chores
    • Updated runtime and development dependencies for improved compatibility and tooling (including a major OpenAI SDK upgrade and updates to ollama, chalk, testing and TypeScript tooling).
  • Style
    • Relaxed a linter style rule that previously enforced shorthand array types, reducing strictness of that specific style check.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Dec 6, 2025

📝 Walkthrough

Walkthrough

Updates dependency versions in package.json: runtime packages (chalk, ollama, openai) and many devDependencies (semantic-release family, TypeScript tooling, test tooling, build utilities). biome.json had a linter style rule removed. No script, engine, or other configuration changes.

Changes

Cohort / File(s) Summary
Runtime dependencies
package.json
chalk ^5.3.0 → ^5.6.2, ollama 0.5.17 → 0.6.3, openai 5.20.1 → 6.10.0
Dev: semantic-release & release tooling
package.json
semantic-release ^21.0.0 → ^25.0.2, @semantic-release/changelog ^6.0.0 → ^6.0.3, @semantic-release/commit-analyzer ^10.0.0 → ^13.0.1, @semantic-release/git ^10.0.0 → ^10.0.1, @semantic-release/github ^9.0.0 → ^12.0.2, @semantic-release/npm ^9.0.0 → ^13.1.2
Dev: TypeScript & tooling
package.json
typescript ^5.6.3 → ^5.9.3, @biomejs/biome ^1.9.4 → ^2.3.8, @types/node ^24.9.1 → ^24.10.1, @types/jest ^29.5.12 → ^30.0.0, tsx ^4.19.2 → ^4.21.0
Dev: testing & build utilities
package.json
jest ^29.7.0 → ^30.2.0, ts-jest ^29.1.2 → ^29.4.6, rimraf ^5.0.5 → ^6.1.2, tslib ^2.8.0 → ^2.8.1, vite ^7.0.5 → ^7.2.6
Linter config
biome.json
Removed the useShorthandArrayType: "error" style rule (rule no longer enforced)

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • Multiple major-version bumps across release tooling, test runner, and TypeScript tooling — verify changelogs for breaking changes.
  • Pay attention to openai v6 and semantic-release v25 integration points and any config expectations.
  • Check @biomejs/biome v2 for lint/style rule changes that might affect formatting or CI.

Possibly related PRs

  • Infra changes #33 — Overlapping devDependency version updates and biome.json changes; likely related infra/dependency adjustments.
  • Update biome.json #54 — Also removes the same useShorthandArrayType linter rule from biome.json.

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: upgrading dependencies to their latest versions. It aligns with the primary modifications in package.json and reflects the PR's stated security maintenance objective.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch security-upgrade

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 9244b58 and e250d07.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (1)
  • package.json (1 hunks)
🔇 Additional comments (3)
package.json (3)

67-67: Verify jest 30 and @types/jest 30 compatibility.

Jest upgraded from 29.7.0 to 30.2.0 (major version). Confirm all tests pass with the new version by running the test suite.

Also applies to: 67-67


54-54: No action required. The openai package upgrade from 5.20.1 to 6.10.0 is safe for this codebase. The code uses the standard chat completions API (chat.completions.create() with model, messages, temperature, and max_tokens parameters) which remains fully compatible in v6. The response structure (choices[0].message.content) is unchanged. No API migration is necessary.

Likely an incorrect or invalid review comment.


73-73: TypeScript 5.9.3 is compatible with the project.

Type checking passes without errors. All dependencies provide compatible type definitions, and the build succeeds with no new type errors introduced by the upgrade.

"crypto-js": "^4.2.0",
"ollama": "0.5.17",
"openai": "5.20.1"
"ollama": "0.6.3",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Search for ollama imports and usage
rg -n --type=ts --type=js 'from\s+["\']ollama|import\s+.*\s+from\s+["\']ollama' -A 10

Repository: ChristopherAlphonse/logger

Length of output: 138


🏁 Script executed:

#!/bin/bash
# Also search for ollama usage more broadly
rg -n 'ollama' --type=ts --type=js --type=json -B 2 -A 2

Repository: ChristopherAlphonse/logger

Length of output: 13924


🏁 Script executed:

#!/bin/bash
# Check package.json for ollama version and dependencies
cat -n package.json | grep -A 5 -B 5 ollama

Repository: ChristopherAlphonse/logger

Length of output: 431


🌐 Web query:

ollama 0.6.3 release notes breaking changes API

💡 Result:

Short answer: There are no wide-reaching API signature breaks in v0.6.3, but one change can break integrations — the default access scope for newly created resources (models, tools, knowledge) is now private by default (so existing workflows that relied on new resources being public may fail unless you explicitly set scopes). See the 0.6.3 changelog (Apr 12, 2025). [1]

Relevant items:

  • Default access scopes set to private for all resources (breaking for integrations that assumed public defaults). [1]
  • Fixes around tool-server/session auth and tool-server indexing (restores previous behavior; not an API breaking change but relevant to tool integrations). [1]
  • Minor CLI/docation issues (e.g., /set parameter num_thread not listed) tracked on GitHub. [2]

Sources:

  • Ollama changelog — v0.6.3 (Apr 12, 2025). [1]
  • GitHub issue about /set parameter num_thread (related to v0.6.3). [2]

🌐 Web query:

ollama Node.js client 0.6.3 vs 0.5.17 compatibility

💡 Result:

Short answer: v0.6.3 (published in the ollama-js GitHub releases) is a newer release than the npm-published package (npm currently shows v0.5.17). v0.6.3 includes API additions (e.g., server version function, logprobs, browser websearch/webcrawl features) so it is not strictly a drop-in identical build to 0.5.17 — expect new features and small API surface changes; if you rely on the npm package, installing via npm currently yields 0.5.17. Sources: GitHub releases (v0.6.3) and npm/jsDelivr package listings. [1][2][3]

If you want, I can list the concrete API diffs or point to the exact commits/files that changed between 0.5.17 and 0.6.3.

Sources:

  • GitHub releases (v0.6.3 changelog). [1]
  • npm package page (shows v0.5.17). [2]
  • jsDelivr/npm registry listing showing available versions. [3]

🌐 Web query:

ollama-js npm package version 0.6.3 0.5.17

💡 Result:

I can't find an npm release for ollama@0.6.3. The npm registry shows latest published version 0.5.17. [1] jsDelivr/other CDNs list up to 0.6.2 but not 0.6.3. [2][3]

Sources:

  • npm package page (shows version 0.5.17). [1]
  • jsDelivr package listing (shows up to 0.6.2). [2]
  • jsDelivr CDN file index (versions list including 0.5.17, 0.6.2). [3]

🌐 Web query:

ollama Node.js client generate list API breaking changes

💡 Result:

Short summary of breaking changes affecting "generate" and "list" when upgrading Ollama clients (Node.js and others):

  • generate: old convenience overloads removed — clients must use the unified request form (a single generate request object) and the streaming handler pattern instead of string/prompt-based overloads. Example: replace generate(model, prompt, ...) with a single generate({ model, prompt, options, ... }) call (and use the streaming/observer API if streaming). [1][2]

  • list (models): listing APIs simplified — listModels/list (or equivalent) now return via the consolidated method and may throw a single library exception type; older variants or helper overloads were removed. Expect changed signatures and different error/exception types. [1]

  • Options/params rename/validation: certain option names accepted by Ollama native endpoints differ from OpenAI names (e.g., num_predict vs max_tokens); some endpoints now validate/reject unknown option keys. Update request option names to the native Ollama names. [3]

Pointers:

  • These changes were documented in client library changelogs (example: Ollama4j shows removal of generate overloads and simplification of listModels plus exception-type and signature changes). Adjust your Node.js client calls to the unified request-object patterns and native parameter names. [1]
  • Check the latest Ollama API docs for the exact request-field names for /api/generate and the current list/models endpoint before upgrading. [2][3]

Sources:
[1] Ollama4j changelog / releases (breaking changes: generate overloads removed; listModels simplified).
[2] Ollama API reference (generate endpoint request shape).
[3] Ollama GitHub issue re: native API option names (max_tokens vs num_predict).


Ollama version 0.6.3 does not exist on npm registry.

The package.json specifies "ollama": "0.6.3", but the npm registry only publishes up to version 0.5.17 (with 0.6.2 available on some CDNs). This version specification cannot be resolved and will cause installation failures. Update to an available version (e.g., 0.5.17 or 0.6.2 if available on your package registry). Verify the intended version and confirm it is actually published before merging.

🤖 Prompt for AI Agents
In package.json around line 53, the dependency "ollama": "0.6.3" references a
non-existent npm version and will break installs; change the version to a
published release such as "0.5.17" (or "0.6.2" if your registry has it) and save
the file, then run npm install (or yarn) to verify resolution; if a newer
internal registry is intended, confirm and replace with the exact tag/registry
URL or move the dependency to a resolved source before merging.

"@semantic-release/npm": "^9.0.0",
"@biomejs/biome": "^2.3.8",
"@semantic-release/changelog": "^6.0.3",
"@semantic-release/commit-analyzer": "^13.0.1",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

find . -name "package.json" -type f | head -5

Repository: ChristopherAlphonse/logger

Length of output: 84


🏁 Script executed:

cat -n package.json | sed -n '55,75p'

Repository: ChristopherAlphonse/logger

Length of output: 886


🌐 Web query:

semantic-release 25.0.2 breaking changes release notes

💡 Result:

v25.0.2 (2025-11-07) contains only a bugfix (update of read-package-up) and lists no breaking changes. The breaking changes for the v25 series were introduced in v25.0.0: raised minimum Node.js requirements (minimum for v24 range is v24.10.0 and a minimum of Node v22.14 is now required). [1]

Sources:
[1] semantic-release releases (v25.0.2 and v25.0.0) — GitHub.


🏁 Script executed:

find . -path ./.git -prune -o -type f \( -name ".github" -o -name ".gitlab-ci.yml" -o -name ".circleci" \) -print 2>/dev/null | head -10

Repository: ChristopherAlphonse/logger

Length of output: 52


🏁 Script executed:

find . -type f \( -name ".github" -o -name "*.yml" -o -name "*.yaml" \) | grep -E "(workflow|\.github|ci)" | head -20

Repository: ChristopherAlphonse/logger

Length of output: 338


🏁 Script executed:

cat -n package.json | grep -A 5 -B 5 "engines"

Repository: ChristopherAlphonse/logger

Length of output: 359


🏁 Script executed:

find . -type f \( -name ".nvmrc" -o -name ".node-version" -o -name ".tool-versions" \) 2>/dev/null

Repository: ChristopherAlphonse/logger

Length of output: 78


🏁 Script executed:

cat -n .nvmrc

Repository: ChristopherAlphonse/logger

Length of output: 91


🏁 Script executed:

cat -n .github/workflows/semantic-release.yml

Repository: ChristopherAlphonse/logger

Length of output: 8116


Update Node.js version to satisfy semantic-release v25.0.2 requirements.

The CI/CD release workflow is incompatible with the semantic-release v25 dependencies. semantic-release v25.0.2 requires Node.js v22.14+ or v24.10.0+, but the release pipeline (.github/workflows/semantic-release.yml) and .nvmrc are configured for Node 20.x. Update the following:

  • .nvmrc: change from 20.0.0 to 22.14.0 (or higher v22/v24)
  • .github/workflows/semantic-release.yml: change node-version: 20.x to 22.x or 24.x in all three job setups (lines 33, 89, 155, 193)
  • package.json engines: change node >=20.0.0 to node >=22.14.0
🤖 Prompt for AI Agents
In package.json around line 59 (and also update related CI files .nvmrc and
.github/workflows/semantic-release.yml at the lines noted in the review), the
Node engine requirement must be bumped to satisfy semantic-release v25.0.2:
change package.json "engines" entry from "node >=20.0.0" to "node >=22.14.0";
update .nvmrc from 20.0.0 to 22.14.0 (or a newer 22/24 LTS); and in
.github/workflows/semantic-release.yml replace node-version: 20.x with
node-version: 22.x (or 24.x) at the specified job locations (lines ~33, ~89,
~155, ~193), then run CI locally or via a test workflow to verify the new Node
version resolves the semantic-release dependency requirement.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
biome.json (1)

2-2: Update schema version to match Biome 2.3.8.

The configuration schema version is outdated—line 2 points to schema 1.9.4, but package.json specifies Biome 2.3.8. Update the schema reference to match the installed version:

-  "$schema": "https://biomejs.dev/schemas/1.9.4/schema.json",
+  "$schema": "https://biomejs.dev/schemas/2.3.8/schema.json",
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e250d07 and 9d4beb0.

📒 Files selected for processing (1)
  • biome.json (1 hunks)

Comment on lines 50 to 54
"style": {
"useConst": "error",
"useTemplate": "error",
"useShorthandArrayType": "error"

},
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

find . -name "biome.json" -o -name ".biome.json" | head -5

Repository: ChristopherAlphonse/logger

Length of output: 82


🏁 Script executed:

cat biome.json | head -60

Repository: ChristopherAlphonse/logger

Length of output: 1236


🌐 Web query:

Biome v2 style rules migration removed recommendations

💡 Result:

Short answer: In Biome v2 the "style" rules were removed from the recommended set (they no longer emit errors by default). The v2 upgrade/migration tooling will try to preserve your prior behavior (the migrate command updates severities so previously-recommended style rules continue to error), but you should still review the migrated config because some rules were dropped from the recommended set and/or not migrated automatically (e.g., reports of specific rules like noDelete not being added back by migrate). [1][2][3]

What to do

  • Run the official migrate command: npx @biomejs/biome migrate --write and/or the ESLint/Prettier helpers. Review biome.json(.c) after migration. [4][1]
  • Manually re-enable any style rules you want to keep (set their severity in your config) if migrate didn’t restore them. [1][2]
  • If you find a rule missing that you expected to be migrated, check the Biome issue tracker and open a bug (example issue for noDelete). [3]

Sources
[1] Biome upgrade-to-v2 / migration notes (style rules no longer emit errors; migrate updates severities).
[2] Biome blog / v2 release notes (notes that style rules aren’t recommended anymore).
[3] GitHub issue showing an example rule (noDelete) that wasn’t migrated.
[4] Biome migrate docs (migrate CLI and ESLint/Prettier helpers).


🏁 Script executed:

python3 << 'EOF'
import json

try:
    with open('./biome.json', 'r') as f:
        content = f.read()
    json.loads(content)
    print("✓ JSON is valid")
except json.JSONDecodeError as e:
    print(f"✗ JSON is INVALID: {e}")
    print(f"  Error at line {e.lineno}, column {e.colno}")
    print(f"  Message: {e.msg}")
EOF

Repository: ChristopherAlphonse/logger

Length of output: 156


Fix invalid JSON syntax in the style section configuration.

The trailing comma on line 52 after "useTemplate": "error", followed by whitespace on line 53 creates malformed JSON. In Biome v2, style rules are no longer part of the recommended ruleset; if you had them previously enabled, explicitly set their severity or remove them.

Replace the blank line with one of these options:

   "style": {
     "useConst": "error",
     "useTemplate": "error",
-    
+    "useShorthandArrayType": "off"
   },

Or restore the rule if it should remain enabled:

   "style": {
     "useConst": "error",
     "useTemplate": "error",
+    "useShorthandArrayType": "error"
   },
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"style": {
"useConst": "error",
"useTemplate": "error",
"useShorthandArrayType": "error"
},
"style": {
"useConst": "error",
"useTemplate": "error",
"useShorthandArrayType": "off"
},
🤖 Prompt for AI Agents
In biome.json around lines 50 to 54, the "style" object contains a trailing
comma after "useTemplate": "error" and an extraneous blank line which makes the
JSON invalid; to fix it either remove the trailing comma and blank line so the
object is valid, remove the entire "style" object if you no longer want those
rules, or explicitly list/restore any style rules you need with proper comma
placement and no blank dangling comma to ensure valid JSON.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Jan 7, 2026

This pull request has been automatically marked as stale because it has not had recent activity for 30 days.

What happens next?

  • If no further activity occurs, this PR will be automatically closed in 7 days
  • To keep this PR active, simply add a comment, push new commits, or add the keep-open label
  • If you believe this PR was marked as stale in error, please comment and we'll review it

Thank you for your contribution!

@github-actions github-actions bot added the stale label Jan 7, 2026
@github-actions
Copy link
Copy Markdown

This pull request has been automatically closed due to inactivity.

Why was this closed?

  • No activity for 30 days total (23 days + 7 day grace period)
  • Marked as stale 7 days ago with no subsequent activity

Want to reopen?

  • You can reopen this PR at any time if you want to continue working on it
  • Consider rebasing against the latest main branch before reopening
  • Feel free to reach out if you need any assistance

Thank you for your contribution! I appreciate your effort.

@github-actions github-actions bot closed this Jan 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant